1. Technical Field
The present invention relates generally to an improved distributed data processing system and in particular to an improved method and apparatus for maintaining a distributed data processing system. Still more particularly, the present invention provides a method and apparatus for installing application on computers in a distributed data processing system.
2. Description of Related Art
In the early 1980s, as the first PC""s were sold, people in the Information Systems (IS) industry thought that PC""s might replace mainframe computers and cut operating costs drastically. Over the years, as personal computers gained more functionality and better user interfaces, end-users improved their productivity and ability to generate data. While enterprise data and legacy applications were still placed on the more reliable mainframe platforms, there was more and more need for distributed access to application and data resources.
The IS industry succeeded in connecting the two worlds of PC""s and mainframes by implementing a client/server model with distributed databases. With the evolution of multi-platform applications over a variety of networking infrastructures, it appeared that PC""s might replace mainframe computers. However, as people in the IS industry realized the immense overall costs of this approach, the client/server model evolved in many directions.
The choice of a wider variety of computer platforms improves the enterprise""s ability to make appropriate investments in the evolving computing marketplace. The following is a description of various computer platforms and some of their characteristics.
Non-Programmable Terminals (NPT""s) are often found in large enterprises connected to host-based applications systems. With the NPT, the user interface is managed and controlled by the central processing system. Historically, these terminals were the first to bring end-user access to information in the enterprise""s central databases.
Network Computers (NC""s), based on RISC processors, offer greater versatility than NPT""s because they have a built-in capability to run emulation software and to provide access to Java(trademark) and Windows(trademark)-based applications, such as browsers. NC""s are typically implemented with only a general purpose processor, a system memory, and a communications port. Although other types of peripheral devices may be included, local drives, such as hard disk and floppy drives, are characteristically absent from such data processing systems. While the primary reason for not providing a local drive within such data processing systems is cost-saving, other reasons may include low-power requirement and compactness. Therefore, NC""s typically rely upon network access to provide dynamic, non-volatile data storage capability. Managed PC""s provide an Intel-based (or compatible) hardware platform that offers one the ability to run network computing operating systems. NC""s and managed PC""s are very similar. The major difference is that NC""s generally have sealed cases and are not up-gradeable, while managed PC""s have locked covers and can be upgraded.
Traditional PC""s, such as desktop and laptop PC""s, are designed to offer highly sophisticated end-user environments. People who travel a lot, or who work at various locations, may use laptop PC""s that require local, nonvolatile storage devices and a fully functional set of applications wherever they are, whether or not there is network connection available. The installation of workgroup computing software and complete application suites requires a powerful machine with significant local networking capabilities.
Each of the various network computing platforms has advantages and disadvantages. NPT""s have the advantage of presenting a standard platform to each user. However, as users become more technically sophisticated through everyday use of various computing devices, users demand more options in their access to data and to computing resources, which may not be available through the use of NPT""s. Managed PC""s may have the ability to be tailored for sophisticated users, but as their name implies, managed PC""s are purposely restricted in the number and variety of the software applications and hardware configurations which are presented to the user.
Traditional PC""s on a network have the advantage of providing extensive flexibility. In order to accommodate their need for computing resources, users may add peripherals and software applications directly to a PC, while a network administrator may provide other resources on the network for many users in a common fashion. The disadvantages include the immense burden placed on a network or system administrator in ensuring that the various PC""s retain some semblance of a standard configuration. Certain operating systems, such as Microsoft Windows NT, provide various levels of system administration capabilities for accomplishing such tasks. However, enormous costs and amounts of time may be spent in accommodating user preferences while ensuring corporate directives for the use of standard configurations.
One of the main advantages of network computing is the any-to-any type of connectivity between applications without having to worry about the hardware or software platforms in use. Network computing can be described as the use of different open technologies providing connectivity, ease-of-use, application functionality, information access, scalability, and systems management across widely dispersed types of networks. By making use of open standard technologies, network computing provides many advantages of the client/server paradigm while avoiding its numerous disadvantages. This goal could be achieved by the implementation of standards on all the platforms involved, such as TCP/IP, for the networking protocol, and 100% pure Java(trademark) applications, in the hope that it will lead to truly portable applications, and solutions where in the network computing environment, all devices are able to easily communicate with one another.
With managed PCs in a network computing environment, the client""s disk image is a remote image from a server. Installing applications at these PCs are a difficult and time consuming task. The difficulty lies partly in the fact that the user of the PC is typically not well versed in the data processing system and application dependencies. Further, most users are not well prepared to administer and support installation problems. The installation and support of applications usually entails a large degree of expertise and time. As a result, an IS or other network manager is usually in charge of installing new applications on PCs in a network computing environment. Installation of these applications require the installer to travel from PC to PC to install and insure that the application will run trouble free at the particular PC. This type of installation is time consuming, especially when in many cases PCs requiring new applications may be located on different floors, different buildings, or even in different cities.
Thus, it would be advantageous to have an improved method and apparatus for installing applications in a network computing environment.
The present invention provides a method and apparatus for installing an application on a client computer. An image is created of a selected client computer. The image of the selected client computer is placed on another computer. The application is installed on the another computer, wherein an update image is created. The updated image is sent back to the client computer.